package Modelo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import java.util.LinkedList;

public class Listas 
{
    
   private LinkedList<Alumno> ListaAlumnos= new LinkedList<Alumno>();  
  

//------------------------------
public LinkedList<Alumno> getListaAlumnos()
{
  return ListaAlumnos; 
}        
//------------------------------
  public void CargarAlumnos()
  {
     Alumno Elalumno=new Alumno();
           
      Date Fecha;
      Double Sueldo;
      boolean Graduado;
      Integer NroH;
      String Via;
      int Cnt;
      File archivo = null;
      FileReader fr = null;
      BufferedReader br = null;

      try {
         // Apertura del fichero y creacion de BufferedReader para poder
         // hacer una lectura comoda (disponer del metodo readLine()).
         //archivo = new File ("C:\\Arbitros.txt");
                           
         Via=System.getProperty("user.dir")+"/src/Archivos/Alumnos.txt";   
        
         archivo = new File (Via);
         
         fr = new FileReader (archivo);
         br = new BufferedReader(fr);

         // Lectura del fichero
         String linea;
         
         Cnt=0;

         
         while((linea=br.readLine())!=null)
            {               
              Cnt++;
              
              switch (Cnt)
              {
                  case 1:Elalumno.setCedula(linea);
                         break;
                      
                  case 2:Elalumno.setNombre(linea);
                         break;
                      
                  case 3:Elalumno.setSexo(linea.charAt(0));
                         break;
                      
                  case 4:
                         Fecha=Validaciones.CnvStringFecha(linea);
                         Elalumno.setFechaNac(Fecha);
                         break;
                      
                  case 5:NroH=Integer.parseInt(linea);                  
                         Elalumno.setNroHijos(NroH);
                         break;

                  case 6:Sueldo = Double.parseDouble(linea);
                         Elalumno.setSueldo(Sueldo);
                         break;

                  case 7:Graduado=Boolean.parseBoolean(linea);
                         Elalumno.setGraduado(Graduado);
                                                      
                         ListaAlumnos.add(Elalumno);
                         Elalumno=new Alumno();//resetear                         
                         Cnt=0;
                         break;    
              }                
              
            }
                        
      }
      
      catch(Exception e){
      }finally{
         // En el finally cerramos el fichero, para asegurarnos
         // que se cierra tanto si todo va bien como si salta 
         // una excepcion.
         try{                    
            if( null != fr ){   
               fr.close();     
            }                  
         }catch (Exception e2){ 
         }
      }   
      
      
      for (int i=0;i<ListaAlumnos.size();i++)
      {
        Elalumno=ListaAlumnos.get(i);
        System.out.println(Elalumno.getCedula());
        System.out.println(Elalumno.getNombre());
        System.out.println("------------------");
        
      }   
      
  }    
//------------------------------------
 public  int ExisteAlumno(String CedBus)
 {
   int i=0,
   Posi=-1;
   
   boolean Hallado=false;
   
   Alumno DatosAlumno;
   
   String CedLista;

   while (i <  ListaAlumnos.size() && !Hallado)
   {
     DatosAlumno=ListaAlumnos.get(i);
     
     CedLista=DatosAlumno.getCedula();
                  
     if (CedLista.equals(CedBus.trim())) 
       {  
         Hallado=true;  
         Posi=i;
       }  
     else
       i++;  
       
   }   
      
   return Posi;
}
    
}
